<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 最大公约数   8    12      
        // 8%1   12%1     1
        // 8%2   12%2     2
        // 8%3
        // 8%4   12%4     4
        // 8%5
        // 8%6
        // 8%7
        // 8%8  12%8    

        // 公约数  1  2  4    最大的是4


        // 最终需要最大的一个   需要的是一个结果
        // 思路：设置一个变量，存储公约数 ， 不断的替换

        // var m = 8 ;
        // var n = 12 ;

        // var res = 1 ;

        // // 一直模到 较小的那个数
        // for(var i = 1 ; i <= Math.min(m , n) ; i++) {
        //     if(m % i === 0 && n % i === 0) {
        //         // console.log(i) ;
        //         res = i ;
        //     }
        // }

        // document.write(res);



        // 思路2  从大往小去去找   找到的第一个就是最大的     提前结束
        // var m = 8 ; 
        // var n = 12 ;
        // for(var i = Math.min(m , n) ; i >= 1 ; i--) {
        //     if(m % i === 0 && n % i === 0) {
        //         document.write(i) ;
        //         break;
        //     }
        // }











        // 最小公倍数     8   12       
        // 12%8 
        // 13%8
        // 14%8
        // ...
        // 24%8   24%12    24      

        var m = 8 ; 
        var n = 12 ;
        // 分析：从两个数中较大的那一个开始去找,找到的第一个就是最小的  需要提前结束  break

        // // 没有条件    = 死循环
        // for(var i = Math.max(m , n) ; ; i++) {
        //     if(i % m === 0 && i % n === 0) {
        //         document.write(i) ;
        //         break;
        //     }
        // }

        for(var i = Math.max(m , n) ; i <= m * n ; i++) {
            if(i % m === 0 && i % n === 0) {
                document.write(i) ;
                break;
            }
        }


    </script>
    
</body>
</html>